package com.service.impl;

import com.dao.BlogDao;
import com.dao.CommentDao;
import com.domain.Blog;
import com.service.BlogService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@Service("blogService")
public class BlogServiceImpl implements BlogService {
    @Resource
    private BlogDao blogDao;
    @Resource
    private CommentDao commentDao;
    /**
     * 无参查询博客列表
     *
     * @return
     */
    @Override
    public List<Blog> countList() {
        return blogDao.countList();
    }

    /**
     * 有参数查询博客列表
     *
     * @param map
     * @return
     */
    @Override
    public List<Blog> list(Map<String, Object> map) {
        return blogDao.list(map);
    }

    @Override
    public List<Blog> findAll(Map<String, Object> map) {
        return blogDao.findAll(map);
    }

    /**
     * 获取博客数量
     *
     * @param map
     * @return
     */
    @Override
    public Long getTotal(Map<String, Object> map) {
        return blogDao.getTotal(map);
    }

    /**
     * 根据主键查询博客信息
     *
     * @param id
     * @return
     */
    @Override
    public Blog findById(Integer id) {
        return blogDao.findById(id);
    }

    /**
     * 添加博客
     *
     * @param blog
     * @return
     */
    @Override
    public Integer add(Blog blog) {
        return blogDao.add(blog);
    }

    /**
     * 修改博客
     *
     * @param blog
     * @return
     */
    @Override
    public Integer update(Blog blog) {
        return blogDao.update(blog);
    }

    @Override
    public Integer delete(Integer id) {
        commentDao.deleteByBlogId(id);
        return blogDao.delete(id);
    }

    /**
     * 根据类型查询博客数量
     *
     * @param typeId
     * @return
     */
    @Override
    public Integer getBlogByTypeId(Integer typeId) {
        return blogDao.getBlogByTypeId(typeId);
    }

    /**
     * 上一篇
     *
     * @param id
     * @return
     */
    @Override
    public Blog getLastBlog(Integer id) {
        return blogDao.getLastBlog(id);
    }

    /**
     * 下一篇
     *
     * @param id
     * @return
     */
    @Override
    public Blog getNextBlog(Integer id) {
        return blogDao.getNextBlog(id);
    }
}
